@model WalkingTec.Mvvm.Core.BaseVM
<wt:fieldset field-set-style="Simple" title="日志管理-模块截图">
    <img src="~/imgs/admin-log.png" />
</wt:fieldset>
<wt:fieldset field-set-style="Simple" title="日志管理-功能介绍">
    通过日志管理模块，可以做到如下事情：
    <ol class="doc">
        <li>查询系统操作日志</li>
        日志中记录了每个模块，每个动作，操作人，操作人IP，以及操作时间等相关信息。
        <li>通过日志分析系统问题</li>
        例如：日志列表中还有耗时的字段，可以根据此字段，知道每个Action执行的时间长短，从而可以知道那些操作比较耗时，进而有针对性的对系统进行优化。
        查询条件中有日志的类型，类型分为：普通、异常、调试三种，根据异常日志可以发现系统问题，这个异常信息对于开发调试过程非常有帮助。
        点击详情，可以查看日志的详细信息，如果是异常日志，抛出的异常堆栈信息可以在详情中查看到，通过分析堆栈信息，可以快速定位代码问题。
        <li>导出日志，便于查看和备份</li>
        点击导出Excel，可以将日志导出为Excel表格，便于查看和备份日志信息。
    </ol>
</wt:fieldset>
<wt:fieldset field-set-style="Simple" title="日志管理-配置文件">
  <wt:quote>
    <p>框架使用.netcore默认的日志流程来记录日志，以达到更灵活通用的目的 </p>
    <p>在program.cs文件中 .ConfigureServices之前加入以下代码来控制使用的日志</p>
  </wt:quote>
    <wt:code>
      .ConfigureLogging((hostingContext, logging) =&gt;
      {
        logging.ClearProviders();
        logging.AddConsole();
        logging.AddDebug();
        logging.AddWTMLogger();//添加WTM日志，WTM日志会向数据库的日志管理表中写数据
      })
    </wt:code>

    <p>同时在appsettings文件中，使用.netcore通用的设置方式来设置日志的级别</p>
  <p>下面的写法配置了Console和Debug中默认显示Information级别的日志，但对于来源是WalkingTec的，也就是框架输出的日志显示Debug级别。</p>
  <p>对于WTM中记录的日志，则是Information级别的，也就是说Information级别以上的才会被写到数据库中</p>
  <wt:code>
  "Logging": {
    "Console": {
      "IncludeScopes": true,
      "LogLevel": {
        "Default": "Information",
        "WalkingTec": "Debug"
      }
    },
    "Debug": {
      "IncludeScopes": true,
      "LogLevel": {
        "Default": "Information",
        "WalkingTec": "Debug"
      }
    },
    "WTM": {
      "LogLevel": {
        "Default": "Information"
      }
    }
  },
  </wt:code>

  <p>如果希望WTM只记录异常，则可以这样配置</p>
    <wt:code>
  "Logging": {
    "WTM": {
      "LogLevel": {
        "Default": "Error"
      }
    }
  },
  </wt:code>
    <p>如果希望WTM完全不记录日志，则可以把WTM的日志级别设定为None</p>
    <wt:code>
  "Logging": {
    "WTM": {
      "LogLevel": {
        "Default": "None"
      }
    }
  },
  </wt:code>

</wt:fieldset>
<script>
  $("#@Model.ViewDivId").parent().css("height", "auto");
</script>
